1. Field of the Invention
The present invention relates generally to power management in a computer system and more particularly to power management in a portable, battery operated computer. More particularly, the invention relates to dynamically adjusting the CPU's internal clock.
2. Background of the Invention
Computer systems, which are generally microprocessor-based, programmable electronic devices which retrieve, store, and process data, rely heavily on the quantity of available electric energy, especially portable computer systems. A computer generally receives electric energy from one or more of a variety of sources, including the alternating current (AC) provided by a wall socket, the direct current (DC) provided by a battery, or even "solar" power provided by photovoltaic cells. Because computers typically require a DC energy source, a computer receiving energy from an AC energy source will generally convert the alternating current to direct current via special power supply circuitry.
Electric power, defined as the rate at which electric energy is delivered from an energy source, is a key factor in the level of complexity a computer system can attain, because each component inside a computer requires a minimum level of electric power to operate. In particular, transistors comprise a major portion of the components in modem computers and thus largely affect computer power requirements. A typical personal computer with 16 megabytes (MB) of dynamic random access memory (DRAM), or approximately 16 million memory storage locations, may have about 150 million transistors, 140 million of which are used for the DRAM. A personal computer with 64 MB of DRAM will typically require over 520 million transistors for DRAM alone. Consequently, a computer with a greater number of components will consume (or "draw") more power. Other computer components require significant amounts of power, as well, including the computer display and also moving components such as hard disk drives, floppy disk drives, tape drives, and compact disc drives. Ultimately, every electrical or moving component draws electric power and contributes to the total energy consumption of the computer system.
While it is generally possible to construct a power supply capable of meeting the power demands of most computer systems, delivering excessive levels of power creates a number of detrimental side effects. For one, most electrical components dissipate spent electrical energy as heat. Since electric power represents the rate of energy consumption, devices which draw more power use more energy in a given time period, dissipating heat at a faster rate. To avoid overheating from power dissipation, many computer components are constructed with heat sinks to channel the heat away from the device. Most larger computer systems, such as desktop and portable laptop computers, additionally utilize fans to direct air currents over the components and heat sinks, channeling the heat into the air outside the computer enclosure. However, as computer system complexity continues to rise, it becomes harder to remove the heat generated by the increasing number of electrical components.
Another important consequence of excessive power consumption is that higher power levels, by definition, require a given amount of electric energy in a shorter amount of time. Hence, computer systems, which may range from handheld calculators and electronic games to personal computers and even massive computing systems, require a greater total energy reserve to produce the increased level of power required to meet increasing demands on operating complexity. For computer systems which draw electric power from AC current provided by an electric utility company, increased power elevates the total amount of energy consumed and, thus, the cost of operation. Battery-powered devices, however, such as portable computers and cellular telephones, are inherently limited to using that energy which can be contained in the battery. Because the energy capacity of a battery directly determines the duration over which such a device can operate, it is necessary to increase battery capacity and/or reduce consumed power (or "battery drain") in order to allow such devices to operate for an adequate length of time.
In general, increasing the energy storage capacity of a battery increases the size and/or density of the battery material. Because batteries are primarily used in portable devices having limited space and weight requirements, however, it is not often permissible to enlarge portable batteries to hold significant amounts of energy. In fact, although advances in battery technology continue to improve the capacity and efficiency of portable batteries, some portable computer systems are unable to operate for sufficiently long periods of time. While some laptop personal computers may accommodate special batteries which operate for significant lengths of time without recharging, such batteries often make the computer too heavy to carry. Many typical laptop computers, on the other hand, hold lighter but less powerful batteries which are not able to provide even a full business day of operation. Smaller devices like palmtop computers and cellular phones typically have even smaller size requirements than do laptop computers and therefore must accommodate even smaller, lower-capacity batteries. Consequently, such devices may operate for relatively short lengths of time, often only a few hours of talk time for typical portable cellular handsets.
A number of methods have been proposed to reduce the battery drain of portable computer systems and thereby lengthen operation time. Integrated circuits made from semiconductor materials have been developed which contain the transistor components used by computer systems and use a reduced-voltage power supply to decrease battery drain. However, the elevating demands on transistor switching times coupled with the increasing complexity of these semiconductor devices tends to somewhat offset the power-savings of such methods.
In addition to power efficiency improvements in computer components, numerous computer operating protocols have enabled personal computer systems to shut off or reduce power during periods of inactivity. Some computers can detect a sustained period of inactivity by the user, for instance, at which point a "sleep" mode begins. During sleep mode, the computer may cause the hard drive to "spin down," stopping the rotation of the hard drive's magnetic disks to reduce power. Similarly, the computer may place the monitor into a special, low-power standby mode or even switch the monitor completely off. Until the user "wakes" the computer by activating a keyboard or mouse, the computer can operate at a slightly reduced power level. Many cellular and cordless phone handsets switch into a similar type of battery-saving sleep mode upon termination of each phone call. Unless otherwise activated by the user, many of these mobile handsets operate with minimum functionality between calls, awakening periodically to monitor a communications channel for incoming calls.
Many portable, battery operated computers (referred to herein as "laptop" computers) include a CPU that can be put to "sleep." Most CPU's, such as the Pentium.RTM. Pro processor, operate from an internal clock signal generated from an externally provided clock. The clock signal synchronizes the processing that occurs inside the CPU. The Pentium.RTM. Pro processor, for example, includes a BCLK input pin which is driven by a clock signal. A clock signal is an electrical signal that varies cyclically between two voltage levels. That is, the clock changes from a low voltage level to a high voltage level and back to a low voltage (one "cycle") and then repeats that process over and over. A clock signal has a "frequency" which is defined as the number of cycles the signal experiences in one second. The BCLK input signal to the Pentium.RTM. Pro processor may have a frequency, for example, of 66 MHz (66 megahertz or 66 million cycles per second, 1 Hz=1 cycle per second). Most computers include many clock signals with the same or different frequencies for coordinating the activities of the computer. The present invention focuses on the CPU's clock signal and manipulates that clock to save battery power.
Most CPU's receive a clock signal at one frequency and, from that clock signal, internally generate another clock signal usually with a much higher frequency. Computers with the Pentium.RTM. Pro CPU, for example, may drive a 66 MHz clock into the BCLK input pin of the CPU, but the CPU internally generates another clock signal at a much higher frequency, for example 233 MHz.
The electrical devices (i.e., "chips"), including the CPU, in most computer systems typically are constructed from complementary metal oxide semiconductor (CMOS) material. It is generally known that CMOS devices use (or dissipate) most of their electrical power during the transitions of the clock signal which drives the device. Other types of semiconductor technology may exhibit this characteristic as well. Thus, power can be saved if the frequency of a clock signal, in this case the CPU clock, can be reduced. Some computers are capable of turning off the CPU clock for brief periods of time in an attempt to save battery charge. Such computers, however, generally do not maximize the period of time during which the CPU clock is disabled. As such, most computers do not maximize the amount of power savings that might be possible by manipulating the CPU clock.
For the foregoing reasons, a laptop computer system that includes a mechanism to reduce the frequency of the CPU clock, or turn off the CPU clock completely during periods of inactivity would greatly reduce the power drain on the computer's battery. Such a computer preferably would turn off the CPU clock as often and as long as possible, thereby minimizing the drain on the battery and maximizing power savings.